/*
 * @Author: 郭招娣 10615594+guo-zhaodi@user.noreply.gitee.com
 * @Date: 2022-08-16 14:21:02
 * @LastEditors: 郭招娣 10615594+guo-zhaodi@user.noreply.gitee.com
 * @LastEditTime: 2022-08-18 14:11:30
 * @FilePath: \后端管理系统\app\src\utils\request.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import axios from 'axios'
// 进度条
import NProgress from 'nprogress'
axios.defaults.timeout=10000;
axios.defaults.baseURL='/api'
// 
import Cookies from 'js-cookie'

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    let token = Cookies.get('token');
    
    if (token) {
        config.headers['Authorization'] = token;
    }
    // 加载进度条
    NProgress.start()
    return config;
}, function (error) {
    // 进度条结束
    NProgress.done()
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么

    // 进度条结束
    NProgress.done()

    return response;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么

    // 进度条结束
    NProgress.done()
    return Promise.reject(error);
});

export const getUrl=async (url,params)=>await axios.get(url,{params});

export const postUrl = async (url, params) => await axios.post(url,  params );

export const putUrl = async (url, params) => await axios.put(url, params);

export const deleteUrl = async (url, params) => await axios.delete(url, { params });

